home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / BPL70N16 / TESTPRGS.ZIP / BUG87.PAS < prev    next >
Pascal/Delphi Source File  |  1993-03-07  |  844b  |  31 lines

  1. PROGRAM BUG87;  { Copyright (c) 1990-1993 Norbert Juffa }
  2.  
  3. { BUG87 demonstrates some strange behavior on 8087/287 when compiled with the
  4.   original BP 7.0 libraries. }
  5.  
  6.  
  7. {$A+,B+,D+,E-,F-,G-,I+,L+,N+,O-,R+,S+,V+,X-}
  8. {$M 16384,0,655360}
  9.  
  10.  
  11. VAR X: EXTENDED;      { allows storing of denormal }
  12.     L: WORD;
  13.  
  14. BEGIN
  15.   WriteLn ('Turbo-Pascal 6.0 floating point exception bug demo program');
  16.   WriteLn;
  17.   WriteLn ('Continously dividing 4e-4932 by 1.1...');
  18.   WriteLn;
  19.   X := 4e-4932;       { close to smallest normalized EXTENDED number }
  20.   FOR L := 1 TO 5 DO BEGIN
  21.      X := X / 1.1;
  22.      Write (X:25);
  23.      IF L > 1 THEN    { after 1st iter. underflow w/ flush to zero }
  24.         WriteLn ('   should be: ', 0.0:25)
  25.      ELSE
  26.         WriteLn ('   should be: ', X:25);
  27.   END;
  28. END. { BUG87 }
  29. begin { BUG87 }
  30. end. { BUG87 }
  31.